﻿using System;
using System.Collections.Generic;
using System.Text;

namespace PokemonBattle.BattleNetwork.Client
{
    public interface IPokemonBattleClientService
    {
        /// <summary>
        /// 登陆成功
        /// </summary>
        void OnLogonSuccess();

        /// <summary>
        /// 登陆失败
        /// </summary>
        void OnLogonFail(string message);

        /// <summary>
        /// 接收随机种子
        /// </summary>
        void OnReceiveRandomSeed(int seed);

        /// <summary>
        /// 接收选定技能
        /// </summary>
        void OnReceiveMove(PlayerMove move);

        /// <summary>
        /// 接收队伍
        /// </summary>
        void OnReceiveTeam(byte position, string identity, ByteSequence team);

        /// <summary>
        /// 接收规则
        /// </summary>
        void OnReceiveRules(BattleRuleSequence rules);

        /// <summary>
        /// 接收平手消息
        /// </summary>
        void OnReceiveTieMessage(string identity, TieMessage message);

        /// <summary>
        /// 退出
        /// </summary>
        void OnExit(string identity);

        /// <summary>
        /// 超时
        /// </summary>
        void OnTimeUp(string identity);

        void OnRegistObsever(int identity);

        void OnReceiveBattleInfo(BattleInfo info);

        void OnReceiveBattleSnapshot(BattleSnapshot snapshot);

    }
}
